Page({
  data: {
    userInformation: wx.getStorageSync('userInformation'),
    code: wx.getStorageSync('code'),
    userphone: wx.getStorageSync('userPhone'),
    token: wx.getStorageSync('userToken'),
    openId: wx.getStorageSync('openId')
  },
  onLoad() {
    wx.getUserInfo({
      success: function (res) {
        var userInfo = res.userInfo
        console.log(userInfo)
      }
    })
  },
  // 授权登录
  getUserProfile() {
    let that = this
    wx.getUserProfile({
      desc: '展示用户信息',
      success: (res) => {
        let userInformation = res.userInfo
        wx.login({
          success: (ress) => {
            wx.setStorageSync('code', ress.code)
            console.log(ress.code, 12313)
            // wx.request({
            //     // 自行补上自己的 APPID 和 SECRET
            //     url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxd8d15c8a9e77d9fa&secret=180e4ae4b7fbfa1c4b49298efd0ae90c&js_code=' + ress.code + '&grant_type=authorization_code',
            //     success: res => {
            //         // 获取到用户的 openid
            //         console.log("用户的openid:" + res.data.openid);
            //         wx.setStorageSync('openId',  res.data.openid)
            //     }
            // });
            // 向后台获取openId
            wx.request({
              // 自行补上自己的 APPID 和 SECRET
              url: 'http://121.40.223.6:7070/getOpenid',
              method:'POST',
              data:{
                "jsCode": ress.code 
              },
              success: resFromServer => {
                  // 获取到用户的 openid
                  console.log("后台获取到的用户的openid:", resFromServer.data.data.openid);
                  this.byForIn(resFromServer.data.data)
              }
            });
            // 获取手机号
            wx.request({
              // 自行补上自己的 APPID 和 SECRET
              url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd8d15c8a9e77d9fa&secret=180e4ae4b7fbfa1c4b49298efd0ae90c',
              success: res1 => {
                  // 获取到用户的 token
                  console.log("用户的token:" + res1.data.access_token);
                  wx.setStorageSync('userToken', res1.data.access_token)
              }
          });
          
            wx.request({
              // 自行补上自己的 APPID 和 SECRET
              url: 'https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token='+this.data.token,
              data:{
                "code":this.data.code
              },
              dataType:'json',
              success: res2 => {
                  // 获取到用户的手机
                  this.byForIn(res2.data)
                  console.log("用户的手机:" + res2.data.phone_info);
              }
            });
          }
        })
        // 写入缓存
        wx.setStorageSync('userInformation', userInformation)
        this.setData({
          userInformation: userInformation
        })
        // 登陆成功提示
        wx.showToast({
          title: '登录成功',
          icon: 'success',
          duration: 2000
        })
      },
      fail: res => {
        wx.showToast({
          title: '授权失败',
          icon: 'error',
          duration: 2000
        })
      }
    })
  },

  byForIn(obj) {
    // 循环 obj（person）对象
    for (const key in obj) {
      if (key === 'family') {
        const family = obj.family;
        // 循环打印 person.family 
        for (const familyKey in family) {
          console.log(familyKey + ':' + family[familyKey]);
        }
      } else {
        console.log(key + ':' + obj[key]);
      }
    }
  },

  getUserInfo() {
    var that = this
    wx.showModal({
      title: '温馨提示',
      content: '确定要退出登录吗？',
      success(res) {
        if (res.confirm) {
          that.setData({
            userInformation: null
          })
          // 清空缓存
          wx.setStorageSync('userInformation', null)
          wx.showToast({
            title: '退出成功',
            icon: 'success',
            duration: 2000
          })
        }
      }
    })
  },
  // 获取手机
  getPhoneNumber(e) {
    console.log(e.detail.code)
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    wx.login({
      success: res => {
        console.log(res.code);
        // wx.request({
        //     url:'服务器后端接口',
        //     data:{
        //        'encryptedData':e.detail.encryptedData,
        //        'iv':e.detail.iv,
        //        'codes':e.detail.code
        //     },
        //     method:'GET',
        //     header:{
        //         'content-type':'application/json'
        //     },
        //     success:function(res){
        //         wx.setStorageSync('PhoneNumber',res.data.phoneNumber);
        //         console.log("手机号为" + res.data.phoneNumber)
        //     },
        //     fail:function(err){
        //         console.log(err);
        //     }
        // })
      }
    })
  }
})